const fs = require('fs')
fs.readFile('./测试.txt', 'utf8', function (err, dataStr) {
    if (err) {
		return console.log('读取文件失败！' + err.message)
    }
    //记录出现最多的数字
    let a = 0
    //记录出现最多的次数
    let num1 = 0
    //获取数组
    let oldArr = dataStr.split('')
    for (let i = 0; i < oldArr.length; i++){
        //记录当前出现的次数
        let num2 = 1
        //判断是否要重置循环
        let flag = false
        for (let j = i + 1; j < oldArr.length; j++){
            if (oldArr[i] === oldArr[j]) {
                //去重
                oldArr.splice(j, 1)
                //次数加一
                num2++
                //因为删除少一个,所以变量j回退
                j--
            } else if (oldArr[i] > oldArr[j]) {
                //利用临时变量,排序交换
                [oldArr[i], oldArr[j]] = [oldArr[j], oldArr[i]]
                //要去循环的数字坐标也跟着交换
                i = j
                //数组顺序发生了变换,初始化循环,重新遍历
                flag = true
            }
        }
        //选出重复最多的那个
        if (num2 > num1) {
            a = oldArr[i]
            num1 = num2
        }
        //重置大循环
        if (flag) {
            i = -1
        }
    }
    const newStr = `出现最多的是${a},出现了${num1}次,去重后的数组[${oldArr}]`
    fs.writeFile('./测试1.txt', newStr, function (err){
        if (err) {
			return console.log('写入文件失败！' + err.message)
		}
    })
})